package cn.stu.cms.controller;


import cn.stu.cms.dto.PageDto;
import cn.stu.cms.dto.RoleMenuDto;
import cn.stu.cms.pojo.Roles;
import cn.stu.cms.service.RoleMenuService;
import cn.stu.cms.util.R;
import cn.stu.cms.vo.rolemenu.RightsVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;


/**
 * 角色菜单控制器
 *
 * @author gh
 * @date 2023/09/18
 */
@RestController
@RequestMapping("/roleMenu")
@AllArgsConstructor
public class RoleMenuController {

    private RoleMenuService rmService;

    /**
     * 列表
     *
     * @param page     页面
     * @param roleName 角色名称
     * @return {@link R}
     */
    @GetMapping(value = "/page")
    public R<Page<RightsVo>> page(PageDto<Roles> page, String roleName) {
        return rmService.roleMenuList(page, roleName);
    }

    /**
     * 删除权限
     *
     * @param id 角色ID
     * @return {@link R}
     */
    @DeleteMapping(value = "/delete/{id}")
    public R<String> delete(@PathVariable Long id) {
        return rmService.roleMenuDel(id);
    }


    /**
     * 更新
     *
     * @param rs RS
     * @return {@link R}
     */
    @PutMapping("/edit")
    public R<String> edit(@RequestBody @Valid RoleMenuDto rs) {
        return rmService.roleMenuUpdate(rs);
    }
}

